<!doctype html>
<html class="default no-js">
<head>
	<meta charset="utf-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
	<title>CollectionType | @aws/dynamodb-data-marshaller</title>
	<meta name="description" content="">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<link rel="stylesheet" href="../assets/css/main.css">
</head>
<body>
<header>
	<div class="tsd-page-toolbar">
		<div class="container">
			<div class="table-wrap">
				<div class="table-cell" id="tsd-search" data-index="../assets/js/search.js" data-base="..">
					<div class="field">
						<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
						<input id="tsd-search-field" type="text" />
					</div>
					<ul class="results">
						<li class="state loading">Preparing search index...</li>
						<li class="state failure">The search index is not available</li>
					</ul>
					<a href="../index.html" class="title">@aws/dynamodb-data-marshaller</a>
				</div>
				<div class="table-cell" id="tsd-widgets">
					<div id="tsd-filter">
						<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
						<div class="tsd-filter-group">
							<div class="tsd-select" id="tsd-filter-visibility">
								<span class="tsd-select-label">All</span>
								<ul class="tsd-select-list">
									<li data-value="public">Public</li>
									<li data-value="protected">Public/Protected</li>
									<li data-value="private" class="selected">All</li>
								</ul>
							</div>
							<input type="checkbox" id="tsd-filter-inherited" checked />
							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
							<input type="checkbox" id="tsd-filter-externals" checked />
							<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
						</div>
					</div>
					<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
				</div>
			</div>
		</div>
	</div>
	<div class="tsd-page-title">
		<div class="container">
			<ul class="tsd-breadcrumb">
				<li>
					<a href="../globals.html">Globals</a>
				</li>
				<li>
					<a href="collectiontype.html">CollectionType</a>
				</li>
			</ul>
			<h1>Interface CollectionType</h1>
		</div>
	</div>
</header>
<div class="container container-main">
	<div class="row">
		<div class="col-8 col-content">
			<section class="tsd-panel tsd-comment">
				<div class="tsd-comment tsd-typography">
					<div class="lead">
						<p>A node used to store an untyped or mixed collection. Values provided for this
							node will be marshalled using run-time type detection and may not be exactly
						the same when unmarshalled.</p>
					</div>
				</div>
			</section>
			<section class="tsd-panel tsd-hierarchy">
				<h3>Hierarchy</h3>
				<ul class="tsd-hierarchy">
					<li>
						<a href="basetype.html" class="tsd-signature-type">BaseType</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span>
					</li>
					<li>
						<span class="tsd-signature-type">MarshallingOptions</span>
						<ul class="tsd-hierarchy">
							<li>
								<span class="target">CollectionType</span>
							</li>
						</ul>
					</li>
				</ul>
			</section>
			<section class="tsd-panel-group tsd-index-group">
				<h2>Index</h2>
				<section class="tsd-panel tsd-index-panel">
					<div class="tsd-index-content">
						<section class="tsd-index-section ">
							<h3>Properties</h3>
							<ul class="tsd-index-list">
								<li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="collectiontype.html#attributename" class="tsd-kind-icon">attribute<wbr>Name</a></li>
								<li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="collectiontype.html#defaultprovider" class="tsd-kind-icon">default<wbr>Provider</a></li>
								<li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="collectiontype.html#onempty" class="tsd-kind-icon">on<wbr>Empty</a></li>
								<li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="collectiontype.html#oninvalid" class="tsd-kind-icon">on<wbr>Invalid</a></li>
								<li class="tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite"><a href="collectiontype.html#type" class="tsd-kind-icon">type</a></li>
								<li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="collectiontype.html#unwrapnumbers" class="tsd-kind-icon">unwrap<wbr>Numbers</a></li>
							</ul>
						</section>
					</div>
				</section>
			</section>
			<section class="tsd-panel-group tsd-member-group ">
				<h2>Properties</h2>
				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-inherited">
					<a name="attributename" class="tsd-anchor"></a>
					<h3><span class="tsd-flag ts-flagOptional">Optional</span> attribute<wbr>Name</h3>
					<div class="tsd-signature tsd-kind-icon">attribute<wbr>Name<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></div>
					<aside class="tsd-sources">
						<p>Inherited from <a href="basetype.html">BaseType</a>.<a href="basetype.html#attributename">attributeName</a></p>
						<ul>
							<li>Defined in <a href="https://github.com/awslabs/dynamodb-data-mapper-js/blob/c504011/packages/dynamodb-data-marshaller/src/SchemaType.ts#L46">SchemaType.ts:46</a></li>
						</ul>
					</aside>
					<div class="tsd-comment tsd-typography">
						<div class="lead">
							<p>The key in which this value will be persisted in DynamoDB. If not
								provided, the key will be assumed to be the same in the input and in the
							persisted record.</p>
						</div>
					</div>
				</section>
				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-inherited">
					<a name="defaultprovider" class="tsd-anchor"></a>
					<h3><span class="tsd-flag ts-flagOptional">Optional</span> default<wbr>Provider</h3>
					<div class="tsd-signature tsd-kind-icon">default<wbr>Provider<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">function</span></div>
					<aside class="tsd-sources">
						<p>Inherited from <a href="basetype.html">BaseType</a>.<a href="basetype.html#defaultprovider">defaultProvider</a></p>
						<ul>
							<li>Defined in <a href="https://github.com/awslabs/dynamodb-data-mapper-js/blob/c504011/packages/dynamodb-data-marshaller/src/SchemaType.ts#L53">SchemaType.ts:53</a></li>
						</ul>
					</aside>
					<div class="tsd-comment tsd-typography">
						<div class="lead">
							<p>An optional default value factory. If a type has a defined
								defaultProvider and its value is <code>undefined</code> in the provided input, the
							defaultProvider will be called and its return value serialized.</p>
						</div>
					</div>
				</section>
				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-inherited">
					<a name="onempty" class="tsd-anchor"></a>
					<h3><span class="tsd-flag ts-flagOptional">Optional</span> on<wbr>Empty</h3>
					<div class="tsd-signature tsd-kind-icon">on<wbr>Empty<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">EmptyHandlingStrategy</span></div>
					<aside class="tsd-sources">
						<p>Inherited from MarshallingOptions.onEmpty</p>
						<ul>
							<li>Defined in /Users/eskewj/Workspace/dynamo-data-mapper/packages/dynamodb-data-marshaller/node_modules/@aws/dynamodb-auto-marshaller/build/Marshaller.d.ts:62</li>
						</ul>
					</aside>
					<div class="tsd-comment tsd-typography">
						<div class="lead">
							<p>The behavior the marshaller should exhibit when it encounters &quot;empty&quot;
								data that would be rejected as invalid by DynamoDB, such as 0-length
							buffers or the string <code>&#39;&#39;</code>.</p>
						</div>
					</div>
				</section>
				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-inherited">
					<a name="oninvalid" class="tsd-anchor"></a>
					<h3><span class="tsd-flag ts-flagOptional">Optional</span> on<wbr>Invalid</h3>
					<div class="tsd-signature tsd-kind-icon">on<wbr>Invalid<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">InvalidHandlingStrategy</span></div>
					<aside class="tsd-sources">
						<p>Inherited from MarshallingOptions.onInvalid</p>
						<ul>
							<li>Defined in /Users/eskewj/Workspace/dynamo-data-mapper/packages/dynamodb-data-marshaller/node_modules/@aws/dynamodb-auto-marshaller/build/Marshaller.d.ts:68</li>
						</ul>
					</aside>
					<div class="tsd-comment tsd-typography">
						<div class="lead">
							<p>The behavior the marshaller should exhibit when it encounters data that
								cannot be marshalled to a DynamoDB AttributeValue, such as a Symbol or
							Function object.</p>
						</div>
					</div>
				</section>
				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite">
					<a name="type" class="tsd-anchor"></a>
					<h3>type</h3>
					<div class="tsd-signature tsd-kind-icon">type<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">"Collection"</span></div>
					<aside class="tsd-sources">
						<p>Overrides <a href="basetype.html">BaseType</a>.<a href="basetype.html#type">type</a></p>
						<ul>
							<li>Defined in <a href="https://github.com/awslabs/dynamodb-data-mapper-js/blob/c504011/packages/dynamodb-data-marshaller/src/SchemaType.ts#L149">SchemaType.ts:149</a></li>
						</ul>
					</aside>
				</section>
				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-inherited">
					<a name="unwrapnumbers" class="tsd-anchor"></a>
					<h3><span class="tsd-flag ts-flagOptional">Optional</span> unwrap<wbr>Numbers</h3>
					<div class="tsd-signature tsd-kind-icon">unwrap<wbr>Numbers<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">true</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">false</span></div>
					<aside class="tsd-sources">
						<p>Inherited from MarshallingOptions.unwrapNumbers</p>
						<ul>
							<li>Defined in /Users/eskewj/Workspace/dynamo-data-mapper/packages/dynamodb-data-marshaller/node_modules/@aws/dynamodb-auto-marshaller/build/Marshaller.d.ts:74</li>
						</ul>
					</aside>
					<div class="tsd-comment tsd-typography">
						<div class="lead">
							<p>Whether numbers should be unmarshalled to a special object type that can
								preserve values that would lose precision if converted to JavaScript&#39;s
							native number type.</p>
						</div>
					</div>
				</section>
			</section>
		</div>
		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
			<nav class="tsd-navigation primary">
				<ul>
					<li class="globals  ">
						<a href="../globals.html"><em>Globals</em></a>
					</li>
				</ul>
			</nav>
			<nav class="tsd-navigation secondary menu-sticky">
				<ul class="before-current">
				</ul>
				<ul class="current">
					<li class="current tsd-kind-interface">
						<a href="collectiontype.html" class="tsd-kind-icon">Collection<wbr>Type</a>
						<ul>
							<li class=" tsd-kind-property tsd-parent-kind-interface tsd-is-inherited">
								<a href="collectiontype.html#attributename" class="tsd-kind-icon">attribute<wbr>Name</a>
							</li>
							<li class=" tsd-kind-property tsd-parent-kind-interface tsd-is-inherited">
								<a href="collectiontype.html#defaultprovider" class="tsd-kind-icon">default<wbr>Provider</a>
							</li>
							<li class=" tsd-kind-property tsd-parent-kind-interface tsd-is-inherited">
								<a href="collectiontype.html#onempty" class="tsd-kind-icon">on<wbr>Empty</a>
							</li>
							<li class=" tsd-kind-property tsd-parent-kind-interface tsd-is-inherited">
								<a href="collectiontype.html#oninvalid" class="tsd-kind-icon">on<wbr>Invalid</a>
							</li>
							<li class=" tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite">
								<a href="collectiontype.html#type" class="tsd-kind-icon">type</a>
							</li>
							<li class=" tsd-kind-property tsd-parent-kind-interface tsd-is-inherited">
								<a href="collectiontype.html#unwrapnumbers" class="tsd-kind-icon">unwrap<wbr>Numbers</a>
							</li>
						</ul>
					</li>
				</ul>
				<ul class="after-current">
				</ul>
			</nav>
		</div>
	</div>
</div>
<footer>
	<div class="container">
		<h2>Legend</h2>
		<div class="tsd-legend-group">
			<ul class="tsd-legend">
				<li class="tsd-kind-module"><span class="tsd-kind-icon">Module</span></li>
				<li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
				<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
				<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
				<li class="tsd-kind-function tsd-has-type-parameter"><span class="tsd-kind-icon">Function with type parameter</span></li>
				<li class="tsd-kind-index-signature"><span class="tsd-kind-icon">Index signature</span></li>
				<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
			</ul>
			<ul class="tsd-legend">
				<li class="tsd-kind-enum"><span class="tsd-kind-icon">Enumeration</span></li>
				<li class="tsd-kind-enum-member"><span class="tsd-kind-icon">Enumeration member</span></li>
				<li class="tsd-kind-property tsd-parent-kind-enum"><span class="tsd-kind-icon">Property</span></li>
				<li class="tsd-kind-method tsd-parent-kind-enum"><span class="tsd-kind-icon">Method</span></li>
			</ul>
			<ul class="tsd-legend">
				<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
				<li class="tsd-kind-interface tsd-has-type-parameter"><span class="tsd-kind-icon">Interface with type parameter</span></li>
				<li class="tsd-kind-constructor tsd-parent-kind-interface"><span class="tsd-kind-icon">Constructor</span></li>
				<li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
				<li class="tsd-kind-method tsd-parent-kind-interface"><span class="tsd-kind-icon">Method</span></li>
				<li class="tsd-kind-index-signature tsd-parent-kind-interface"><span class="tsd-kind-icon">Index signature</span></li>
			</ul>
			<ul class="tsd-legend">
				<li class="tsd-kind-class"><span class="tsd-kind-icon">Class</span></li>
				<li class="tsd-kind-class tsd-has-type-parameter"><span class="tsd-kind-icon">Class with type parameter</span></li>
				<li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li>
				<li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li>
				<li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li>
				<li class="tsd-kind-accessor tsd-parent-kind-class"><span class="tsd-kind-icon">Accessor</span></li>
				<li class="tsd-kind-index-signature tsd-parent-kind-class"><span class="tsd-kind-icon">Index signature</span></li>
			</ul>
			<ul class="tsd-legend">
				<li class="tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited constructor</span></li>
				<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited property</span></li>
				<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited method</span></li>
				<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited accessor</span></li>
			</ul>
			<ul class="tsd-legend">
				<li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected property</span></li>
				<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected method</span></li>
				<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected accessor</span></li>
			</ul>
			<ul class="tsd-legend">
				<li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private property</span></li>
				<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li>
				<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private accessor</span></li>
			</ul>
			<ul class="tsd-legend">
				<li class="tsd-kind-property tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static property</span></li>
				<li class="tsd-kind-call-signature tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static method</span></li>
			</ul>
		</div>
	</div>
</footer>
<div class="overlay"></div>
<script src="../assets/js/main.js"></script>
<script>if (location.protocol == 'file:') document.write('<script src="../assets/js/search.js"><' + '/script>');</script>
</body>
</html>